package com.truyen.utils;

public final class Unsigned {
	
	public static String fixUTF8(String s) {
		return s.replaceAll("à", "à").replaceAll("á", "á").replaceAll("ã", "ã")
				.replaceAll("ạ", "ạ").replaceAll("ằ", "ằ").replaceAll("ắ", "ắ")
				.replaceAll("ẵ", "ẵ").replaceAll("ặ", "ặ").replaceAll("ầ", "ầ")
				.replaceAll("ấ", "ấ").replaceAll("ẫ", "ẫ").replaceAll("ậ", "ậ")
				.replaceAll("ù", "ù").replaceAll("ú", "ú").replaceAll("ũ", "ũ")
				.replaceAll("ụ", "ụ").replaceAll("ừ", "ừ").replaceAll("ứ", "ứ")
				.replaceAll("ữ", "ữ").replaceAll("ự", "ự").replaceAll("ò", "ò")
				.replaceAll("ó", "ó").replaceAll("õ", "õ").replaceAll("ọ", "ọ")
				.replaceAll("ồ", "ồ").replaceAll("ố", "ố").replaceAll("ỗ", "ỗ")
				.replaceAll("ộ", "ộ").replaceAll("è", "è").replaceAll("é", "é")
				.replaceAll("ẽ", "ẽ").replaceAll("ẹ", "ẹ").replaceAll("ề", "ề")
				.replaceAll("ế", "ế").replaceAll("ễ", "ễ").replaceAll("ệ", "ệ")
				.replaceAll("ì", "ì").replaceAll("í", "í").replaceAll("ĩ", "ĩ")
				.replaceAll("ị", "ị").replaceAll("ỳ", "ỳ").replaceAll("ý", "ý")
				.replaceAll("ỹ", "ỹ").replaceAll("ỵ", "ỵ")

				.replaceAll("À", "À").replaceAll("Á", "Á").replaceAll("Ã", "Ã")
				.replaceAll("Ạ", "Ạ").replaceAll("Ằ", "Ằ").replaceAll("Ắ", "Ắ")
				.replaceAll("Ẵ", "Ẵ").replaceAll("Ặ", "Ặ").replaceAll("Ầ", "Ầ")
				.replaceAll("Ấ", "Ấ").replaceAll("Ẫ", "Ẫ").replaceAll("Ậ", "Ậ")
				.replaceAll("Ù", "Ù").replaceAll("Ú", "Ú").replaceAll("Ũ", "Ũ")
				.replaceAll("Ụ", "Ụ").replaceAll("Ừ", "Ừ").replaceAll("Ứ", "Ứ")
				.replaceAll("Ữ", "Ữ").replaceAll("Ự", "Ự").replaceAll("Ò", "Ò")
				.replaceAll("Ó", "Ó").replaceAll("Õ", "Õ").replaceAll("Ọ", "Ọ")
				.replaceAll("Ồ", "Ồ").replaceAll("Ố", "Ố").replaceAll("Ỗ", "Ỗ")
				.replaceAll("Ộ", "Ộ").replaceAll("È", "È").replaceAll("É", "É")
				.replaceAll("Ẽ", "Ẽ").replaceAll("Ẹ", "Ẹ").replaceAll("Ề", "Ề")
				.replaceAll("Ế", "Ế").replaceAll("Ễ", "Ễ").replaceAll("Ệ", "Ệ")
				.replaceAll("Ì", "Ì").replaceAll("Í", "Í").replaceAll("Ĩ", "Ĩ")
				.replaceAll("Ị", "Ị").replaceAll("Ỳ", "Ỳ").replaceAll("Ý", "Ý")
				.replaceAll("Ỹ", "Ỹ").replaceAll("Ỵ", "Ỵ");
	}

	public static String boKyTuDB(String str) {
		return str.replace("?", "").replace("'", "").replace("\"", "")
				.replace(".", "").replace(",", "").replace("/", "")
				.replace(":", "").replace(";", "").replace("~", "")
				.replace("-", " ").replace("[", "").replace("]", "")
				.replace("(", "").replace(")", "").replace("+", "")
				.replace("    ", " ").replace("   ", " ").replace("  ", " ")
				.replace("#", "").replace("$", "").replace("@", "")
				.replace("^", "").replace("!", "").replace("%", "")
				.replace("&", "").replace("*", "").replace("=", "")
				.replace("|", "").replace("-", "").trim();
	}

	// ham bo dau tieng viet
	private static String[] VietnameseSigns = new String[] { "aAeEoOuUiIdDyY",
		"áàạảãâấầậẩẫăắằặẳẵ", "ÁÀẠẢÃÂẤẦẬẨẪĂẮẰẶẲẴ", "éèẹẻẽêếềệểễ",
		"ÉÈẸẺẼÊẾỀỆỂỄ", "óòọỏõôốồộổỗơớờợởỡ", "ÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠ",
		"úùụủũưứừựửữ", "ÚÙỤỦŨƯỨỪỰỬỮ", "íìịỉĩ", "ÍÌỊỈĨ", "đ", "Đ", "ýỳỵỷỹ",
		"ÝỲỴỶỸ" };

	public static String boDau(String str) {
		for (int i = 1; i < VietnameseSigns.length; i++) {
			for (int j = 0; j < VietnameseSigns[i].length(); j++) {
				str = str.replace(VietnameseSigns[i].charAt(j),
						VietnameseSigns[0].charAt(i - 1));
			}
		}
		return boKyTuDB(str.toLowerCase());
	}
}
